<?php
class core
{
    // core pieces
    public static $libs = array(
        'conf',     // настройки по умолчанию
        'db',       // устанавливает соединение с бд
        'str',      // работа со строками
        'url',      // анализ url
        'router',   // роутер
        'page',     // загрузчик страницы
        'log',      // журнад говна
        'file',     // работа с файлами
        'v',        // var_dump
        'storage',  // данные для default view
        'view',     // подгружает представления
        'seo',      // генератор title etc
        'layout',   // шиблоны визуализации
    );

    // core mode
    private static $modes = array(
        'dev'   => E_ALL,   // development mode
        'pro'   => 0,       // production mode
    );

    // current core mode
    public static $mode     = 'dev';
    // coneect to db?
    public static $need_db  = false;

    public static function init()
    {
        ob_start();
        session_start();
        error_reporting(self::$modes[self::$mode]);

        // libs loading
        foreach (self::$libs as $lib)
        {
            require_once $lib.'.php';
        }

        // db connection process
        if (self::$need_db)
        {
            foreach (conf::$db as $db)
            {
                if (!db::$link)
                {
                    $db_connected = db::connect($db);
                }
                else
                {
                    continue;
                }
            }
            if (!db::$link)
            {
                log::it(array('text' => 'db not connected'));
            }
        }

        // url parser
        include conf::$routes;
        url::init();
        router::init();

        // load page content
        page::init();
        ob_clean();

        // show page
        layout::init();
    }
}
